Decoding compressed video is typically expensive in terms of a dynamic random access memory (DRAM) bandwidth. Newer codecs use more bandwidth than established codecs due to smaller block sizes (i.e., down to 4×4 blocks instead of 16×16 blocks), larger video formats (i.e., high definition) and more accurate subpixel interpolations (i.e., 6-tap interpolations instead of 2-tap interpolations). Existing approaches to deal with the DRAM bandwidth problem in decoders include lossy methods (i.e., compressing or subsampling reference data and dropping fields or frames) and lossless methods (i.e., storing reference frames or portions thereof in on-chip caches).
Existing lossless methods introduce significant cost by implementing large on-chip caches. Existing lossy methods introduce drift (errors) in the decoded video, as the current lossy methods involve modifying the reference data. For newer codecs (i.e., H.264/MPEG4-AVC) the errors introduced by existing lossy methods are significantly exasperated by recursive in-loop deblocking filtering and recursive intra in-picture prediction from reconstructed pixels. As such, existing lossy methods are visually unacceptable for some newer codecs. Conventional methods using subsampling and reference frame compression can result in memory storage reduction, but often fail to give any significant worst-case memory bandwidth savings in practice, depending on the specific method, memory architecture and codec.